package net.hancl.modules.sys.dao;

import net.hancl.common.bean.page.Query;
import net.hancl.modules.sys.annotation.MybatisDao;
import net.hancl.modules.sys.entity.User;
import net.hancl.modules.sys.vo.UserLoginVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@MybatisDao
public interface UserMapper {

    List<User> queryPages(Query query);

    Long getCount(Query query);

    User get(@Param("id") String id);

    int del(String userId);

    //int add(User user);

    int insert(User user);

    int insertSelective(User user);

    int update(User user);

    int updateByPrimaryKeySelective(User user);

    User query(UserLoginVo UserLoginVo);


    // -------------------------
    int addUserRole(@Param("userId") String userId, @Param("roleId") String roleId);

    int addUserDepartment(@Param("userId") int userId,
                          @Param("departmentId") int departmentId);

    int delUserRole(@Param("userId") String userId);

    int delUserDepartment(@Param("userId") String userId);


    int updateUserDepartment(@Param("userId") String userId);

    User queryByUserName(@Param("userName") String username);


}
